Simulating system execution of applications made up of instructions (viz., processor instructions) is commonly performed. Typically, such simulation is performed to ensure that the system and the applications operate as they are expected or intended to operate. Furthermore, such simulation may be performed to verify that systems, applications, and computer programs that were designed for older, outdated hardware are properly executed using more modern hardware. This type of simulation is known as functional simulation. However, other types of simulation of system execution of instructions are also important.
For instance, another type of simulation simulates how long it will take a system to execute the instructions of a given application. This type of simulation is known as timing simulation. As another example, a type of simulation may simulate how much electrical power the system uses to execute the instructions of a given application. This type of simulation is known as power simulation.
The functional simulation of system execution of instructions is commonly performed much more quickly than performing both the functional simulation and the timing simulation of system execution of instructions. Therefore, the functional simulation alone may be performed more often than both the functional simulation and the timing simulation, due to time constraints. However, also not performing the timing simulation when the functional simulation is performed results in an incomplete simulation, which can be undesirable.